Click Here!
home account info subscribe login search My ITKnowledge FAQ/help site map contact us


 
Brief Full
 Advanced
      Search
 Search Tips
To access the contents, click the chapter and section titles.

Oracle Performance Tuning and Optimization
(Publisher: Macmillan Computer Publishing)
Author(s): Edward Whalen
ISBN: 067230886x
Publication Date: 04/01/96

Bookmark It

Search this book:
 
Previous Table of Contents Next


Goals

The goal in tuning your system for BLOB access is to achieve a system that has certain characteristics. Here is a list of the characteristics of an optimally tuned BLOB system:

  The system shows minimal indications of being disk bound. If your system is disk bound, you should add more or faster disks. At some point, the BLOB system may overwhelm the I/O subsystem. You may have to add computers to help with the load.
  Memory is sufficient. If the machine pages or swaps, performance is severely degraded. The best solution is to add more memory; if that is not possible, reduce the size of the SGA or the number of data streams until the system no longer pages or swaps.
  There is sufficient space in the shared pool. I don’t think that the shared pool will be much of a problem with this type of data access. However, check your system to verify that fact.
  The system meets any additional requirements you have. One criteria that may be important is that the system must support a continual data flow. If your data involves audio or video information, any type of delay will be very noticeable.

By setting goals for how you expect the system to perform, you can determine whether you are successful. You can also determine earlier whether you will be able to achieve your specified goals.

Review of BLOB System Characteristics

By analyzing the characteristics of a system designed for BLOB access and setting goals you want the system to achieve, you can obtain a lot of data with which you can build the system. The design of the system is largely determined by how data is accessed and how many and what type of queries are specified.

You have seen that the system used for BLOB access is generally an I/O-bound system. These I/Os are sequential in nature, but multiple accesses break them into a more random pattern. By configuring the system and taking advantage of multiblock reads, you can achieve a high level of I/O performance.

Relate the information in the next part of this chapter to your particular configuration. Look for similarities and differences between what is described here and what you have observed about your system and decide how you can benefit from the tuning guidelines presented here. Although each system is different, many of the concepts remain the same.

You should base your system design on what you know about how your system operates and accesses data. Spend the time up front to carefully examine how the system needs to run so that you can determine the design of the system.

With this type of system, some design choices can drastically affect the overall performance of the system. If you use compression, you can choose to compress/decompress the data on the client where CPU resources are more available. The amount and size of the data may help you determine how to divide the data among different disks.

Because there are some inherent limitations to the number of data streams a single system can support, you may want to partition the data into multiple systems. If possible, partition the data to spread the data access equally among the machines.

How well the system performs is often reflected in the amount of effort you put into the original design of the system. It is difficult to make up for a poor design with tuning.

Design Considerations

By looking at the data access patterns, you should have a good idea of how the system will operate. Before looking at the design of the system, here is a review of a few of the concepts introduced in earlier chapters:

  I/O is typically the limiting factor in the system. You can do only a fixed number of random I/Os per second per disk drive (refer to Chapter 14, “Advanced Disk I/O Concepts”).
  I/Os can be reduced by caching data blocks in the SGA. If the data you want to access is already in the SGA, a disk I/O is not required.
  Isolate sequential I/Os. Most of the time spent reading from or writing to the disk is spent seeking to where the data is located. If you can reduce seeks, you can achieve more I/Os per second.
  Spread out random I/Os. Random I/Os have a maximum rate per drive. By spreading the I/Os out among many drives, you increase the overall rate.
  Avoid paging and swapping. Any time the system pages or swaps, performance is severely degraded. Avoid this at all costs.

All these factors contribute to the optimal data layout of the system. When designing a system for BLOB access, the physical layout is of primary importance. It is also important to be aware of the application and how the data will be accessed and compressed or decompressed.

Because large amounts of binary data are accessed in a BLOB system, compression can be very important. If high-speed clients are used, compressing and decompressing the data on the clients may be effective. If video or audio data is used, it can help to know that many new applications can access this compressed data directly. With this type of environment, it is advantageous to move the data as quickly as possible to the client machines and let them do the processing.


Previous Table of Contents Next


Products |  Contact Us |  About Us |  Privacy  |  Ad Info  |  Home

Use of this site is subject to certain Terms & Conditions, Copyright © 1996-2000 EarthWeb Inc.
All rights reserved. Reproduction whole or in part in any form or medium without express written permission of EarthWeb is prohibited.